package com.example.springbooteasycode.zjrc.project.Koal.AAAstructure;

import java.util.Arrays;

/**
 * 加密机响应数据处理后返回的entity
 */
public class ResponseData {
    private byte[] outBuf;  // 输出缓冲区，存储响应数据
    private int ret;        // 返回码，通常用于表示操作结果（0表示成功，非0表示错误）

    // 无参构造方法
    public ResponseData() {
    }

    // 带参构造方法
    public ResponseData(byte[] outBuf, int ret) {
        this.outBuf = outBuf;
        this.ret = ret;
    }

    // Getter 和 Setter 方法
    public byte[] getOutBuf() {
        return outBuf;
    }

    public void setOutBuf(byte[] outBuf) {
        this.outBuf = outBuf;
    }

    public int getRet() {
        return ret;
    }

    public void setRet(int ret) {
        this.ret = ret;
    }

    // 重写 toString 方法，方便打印对象信息
    @Override
    public String toString() {
        return "ResponseData{" +
                "ret=" + ret +
                ", outBuf=" + Arrays.toString(outBuf) +
                '}';
    }

    // 重写 equals 和 hashCode 方法，用于对象比较
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ResponseData that = (ResponseData) o;
        return ret == that.ret && Arrays.equals(outBuf, that.outBuf);
    }

    @Override
    public int hashCode() {
        int result = Arrays.hashCode(outBuf);
        result = 31 * result + ret;
        return result;
    }
}
